//Include software configs
includeConfig 'modules/quality_control/config/common'
includeConfig 'modules/read_trimming/config/common'
includeConfig 'modules/read_merging/config/common'
includeConfig 'modules/saturation_mutagenesis/config/common'

params {
	// Pipeline 
	name = false
	help = false

	// Mandatory inputs
	reads = false
	library = false

	//Results directories
	outdir = './results'	
	reportDir = "${params.outdir}/reports"

	// Stage muting
	no_qc = false
    no_trim = false
    no_merge = false
    no_analysis = false

    multiqc_config = "$baseDir/config/multiqc_config.yaml"
}

manifest {
	name = 'Saturation mutagenesis pipeline'
	description = 'Saturation mutagenesis pipeline'
	mainScript = 'main.nf'
	version = '0.0.1'
}

trace {
    enabled = true
    file = "${params.reportDir}/pipeline_trace.txt"
}

timeline {
    enabled = true
    file = "${params.reportDir}/pipeline_timeline.html"
}   

report {
    enabled = true
    file = "${params.reportDir}/pipeline_report.html"
}   

profiles {
  singularity {
    includeConfig 'conf/singularity.config'
  }
  docker {
  	includeConfig 'conf/docker.config'
  }
  farm4 {
    includeConfig 'conf/farm4.config'
    includeConfig 'conf/lsf.config'
  }
  farm4_singularity {
  	includeConfig 'conf/farm4.config'
    includeConfig 'conf/lsf.config'
    includeConfig 'conf/singularity.config'
  }
  lsf {
    includeConfig 'conf/lsf.config'
  }
  none {
  	//don't include any configs
  }
}